package com.molichuxing.gateway.bff.terminal.services;

import com.molichuxing.framework.dto.Paged;
import com.molichuxing.gateway.bff.terminal.entity.request.modify.DeviceModifyVo;
import com.molichuxing.gateway.bff.terminal.entity.response.DeviceAppVo;
import com.molichuxing.gateway.bff.terminal.entity.response.DeviceErrorListVo;
import com.molichuxing.gateway.bff.terminal.entity.response.DeviceErrorVo;
import com.molichuxing.gateway.bff.terminal.entity.response.DeviceListVo;

import java.util.List;
import java.util.Map;

/**
 * 经销商信息相关bff
 *
 * @author zhaopenghui
 * @date 2019年8月26日
 */
public interface TerminalBffService {

    /**
     * 获取经销商信息列表
     *
     * @param params
     * @param pageNum
     * @param pageSize
     * @return
     */
    Paged<DeviceListVo> getDevicePage(Map<String, Object> params, Integer pageNum, Integer pageSize) throws Exception;

    /**
     * 故障
     * @param params
     * @param pageNum
     * @param pageSize
     * @return
     * @throws Exception
     */
    Paged<DeviceErrorListVo> getDeviceErrorPage(Map<String, Object> params, Integer pageNum, Integer pageSize) throws Exception;
    /**
     * 编辑经销商
     *
     * @param deviceModifyVo
     * @return
     * @throws Exception
     */
    Boolean modifyDevice(DeviceModifyVo deviceModifyVo) throws Exception;

    /**
     * 资源状况
     *
     * @param deviceId
     * @return
     */
    List<DeviceAppVo> getDeviceAppList(Integer deviceId);

    /**
     * 故障
     *
     * @param deviceId
     * @return
     */
    DeviceErrorVo getDeviceError(Integer deviceId);

}
